# 表达式从左至右运算，若 or 的左侧逻辑值为 True ，
# 则短路 or 后所有的表达式（不管是 and 还是 or），直接输出 or 左侧表达式 。

# 表达式从左至右运算，若 and 的左侧逻辑值为 False ，
# 则短路其后所有 and 表达式，直到有 or 出现，输出 and 左侧表达式到 or 的左侧，参与接下来的逻辑运算。

# 若 or 的左侧为 False ，或者 and 的左侧为 True 则不会出现短路。

print(6>3 and 7<4 and 9>2)
print(6<9 or 8>4 or 7!=0)
a = 1
b = 2
c = 3
# and 逻辑运算，代码执行从左到右，先运算a==2,为False
# and 逻辑与需要两个条件都为True,整个条件才为True
# 所以当条件判断执行第一个条件时为False,整个条件为False,
#不再执行后面的条件判断
# 这就是短路运算
if a == 2 and b == 2:
    print('haha')
# 运算符优先级
# 算数运算符，与算数运算的优先级一致，先乘除后加减
# ()的优先级最高
# 逻辑运算符的优先级：（）--->not---->and------>or
print((8+2)*3)
#     T       T       F      F        T
print(7>3 or 7!=2 and 8<1 or 9<1 and not 8<2)


